1. Technical Field
The present invention relates generally to virus scanning, and more specifically relates to a system and method for reducing the computational resources required for performing virus scans.
2. Related Art
Computer virus infections continue to be one of the more frustrating problems that organizations must deal with. The downtime that an organization faces after a virus attack can severely impact employee productivity and business. In order to address this issue, most organizations run automated periodic (e.g., weekly) virus scans on all the machines in their organization, with the goal of detecting viruses in early stages and eliminating them.
Every time a scheduled virus scan runs, it checks all the files on the computer. In most present day applications, scanners even check the files inside a compressed archive. This causes intensive file operations, which in turn consumes significant CPU cycles. While running, the scan can significant slow down the host machine, seriously impacting the performance and hence the productivity of the workstation and the employee.
A typical hard disk containing around 25 gigabytes (GB) of data takes about five to six hours to scan. If the scan occurs when an employee needs access to the machine, the employee may often terminate the weekly scan in order to free up machine resources and carry out their normal work. This defeats the purpose of the periodic scheduled virus scan.
As new viruses are found, their signatures are updated in the virus definition files. This virus definitions database grows with time. Each new virus strain adds on a fraction of a second to the time required to scan each file. Additionally, users also create or add several new files every week. Thus, the overall scan time of a computer is ever increasing.
The amount of productive time that an organization loses with virus scanning is also alarming. When a virus scan is running, it can consume more than 70% of the CPU cycles. Thus, a task that would take 10 minutes to execute on a standalone machine takes 13 minutes when the virus scan is running. So, for every 1000 employees, an organization looses 2000 productive hours for a normal scan of six hours.
As is evident, present virus scanning techniques are inefficient. For instance, when a user returns from a vacation and boots his or her machine, the virus scanner may start automatically, even though nothing has changed on that machine since the virus scanner last run. Problems with the current virus scanning approach include:    1. The scan checks each file on the machine and consumes the vital resources of the machine. This seriously affects the productivity of the machine;    2. Users are often tempted to terminate the scan, thereby increasing the potential of hosting a virus on their machines; and    3. Virus scan duration increases over time, along with the amount of productive time wasted by an organization.
Accordingly, a need exists for a virus scanning system and method that can more efficiently scan computers for viruses.